Robots are autonomous devices designed for executing various tasks. Social robots are robots that are configured to interact with humans by following certain social behaviors and rules. The capabilities of such robots have recently increased as access to greater resources have become available. Current social robots are capable of identifying users' behavior patterns, learning users' preferences and reacting accordingly by generating electro-mechanical movements, responding to a user's touch or vocal commands with a mechanical or auditory response, and the like.
These capabilities enable social robots to be useful in many scenarios including interacting with patients suffering from various mental health issues, such as autism and stress problems, assisting users in initiating a variety of tasks, providing support for elderly persons, and the like. Social robots often use multiple hardware resources including microphones, speakers, display units, mechanical joints, servo-motors, and so on, to interact with the users.
One obstacle in implementing social robots effectively is the often suboptimal management of available resources, which can create a poor user experience, such as when two separate robot tasks are attempted to be executed simultaneously. For example, a first task of a social robot may require use of the speaker resource to ask the user a question, while a second task may attempt to use the same speaker to play music. The result is a diminished user experience.
While current solutions provide the ability to control various robotic resources, the increasing complexity of interactions between resources and capabilities of robotic systems presents new challenges.
It would therefore be advantageous to provide a solution that would overcome the challenges noted above.